package com.common;

import android.app.Activity;
import android.content.res.Configuration;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.WindowManager;

public class ScreenOper extends Activity {
	public DisplayMetrics getScreen() {
		DisplayMetrics dm = new DisplayMetrics();
		this.getWindowManager().getDefaultDisplay().getMetrics(dm);
		return dm;
	}

	/* First, get the Display from the WindowManager */
	Display display = ((WindowManager) getSystemService(WINDOW_SERVICE))
			.getDefaultDisplay();
	/* Now we can retrieve all display-related infos */
	int width = display.getWidth();
	int height = display.getHeight();
	int orientation = display.getOrientation();

	int getScreenOrientation() {
		Display getOrient = getWindowManager().getDefaultDisplay();
		int orientation = getOrient.getOrientation();
		// Sometimes you may get undefined orientation Value is 0
		// simple logic solves the problem compare the screen
		// X,Y Co-ordinates and determine the Orientation in such cases
		if (orientation == Configuration.ORIENTATION_UNDEFINED) {
			Configuration config = getResources().getConfiguration();
			orientation = config.orientation;
			if (orientation == Configuration.ORIENTATION_UNDEFINED) {
				// if height and widht of screen are equal then
				// it is square orientation
				if (getOrient.getWidth() == getOrient.getHeight()) {
					orientation = Configuration.ORIENTATION_SQUARE;
				} else { // if widht is less than height than it is portrait
					if (getOrient.getWidth() < getOrient.getHeight()) {
						orientation = Configuration.ORIENTATION_PORTRAIT;
					} else { // if it is not any of the above it will defineitly
								// be landscape
						orientation = Configuration.ORIENTATION_LANDSCAPE;
					}
				}
			}
		}

		return orientation; // return value 1 is portrait and 2 is Landscape
							// Mode
	}
}